package com.xycake.service;


import com.xycake.dao.MenuMapper;
import com.xycake.dao.UserMapper;
import com.xycake.entity.Menu;
import com.xycake.entity.User;
import com.xycake.entity.UserExtend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

//主页service
@Service
public class MainService {

    @Autowired
    private MenuMapper menuMapper;

//    @Autowired
//    private RoleMapper roleMapper;
//
//    @Autowired
//    private RoleMenuMapper roleMenuMapper;

    @Autowired
    private UserMapper userMapper;

    public List<Menu> selectMenu(Integer roleId){
        return menuMapper.selectMenu(roleId);
    }

//    public List<RoleExtend> selectRoleWithMenus(){
//        return roleMapper.selectWithMenus();
//    }

    public List<Menu> selectAllMenuTitle() {
        return menuMapper.selectAllTitle();
    }

//    public void updataRoleMenus(int id, int[] menus) {
//        List<RoleMenu> list= roleMenuMapper.selectByRoleId(id);
//        List<Integer> addList=new ArrayList<>();
//        List<Integer> rmList=new ArrayList<>();
//
////        判断新增项
//        for (int m:menus) {
//            boolean b=false;
//            for (RoleMenu l:list) {
//                if(l.getMenuId()==m){
//                    b=true;
//                    break;
//                }
//            }
//            if(b==false){
//                addList.add(m);
//            }
//        }
//
//        //判断删除项
//        for (RoleMenu l:list) {
//            boolean b=false;
//            for (int m:menus) {
//                if(l.getMenuId()==m){
//                    b=true;
//                    break;
//                }
//            }
//            if(b==false){
//                rmList.add(l.getId());
//            }
//        }
//        //新增和删除操作
//        for (int m:addList) {
//            RoleMenu roleMenu=new RoleMenu();
//            roleMenu.setRoleId(id);
//            roleMenu.setMenuId(m);
//            roleMenuMapper.insertSelective(roleMenu);
//        }
//
//        for (int r:rmList) {
//            roleMenuMapper.deleteByPrimaryKey(r);
//        }
//    }

    public List<UserExtend> selectUserList(String account) {
        return userMapper.selectUserAllByAccount(account);
    }

    public List<UserExtend> updateUserListEdit(User user) {
        return userMapper.updateAllUserListEdit(user);
    }

    public List<UserExtend> selectAllUser(Integer id) {
        return userMapper.selectAllUserList(id);
    }
}
